package org.example.sword2offer.primary;
/**
 * @author: lynn
 * @Descript:一只青蛙一次可以跳上1级台阶，也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
 * Question 10  https://blog.csdn.net/char_m/article/details/109258088
 * @date: 2021/3/8 22:27
 * @version: 1.0
 */
public class Q10_1_JumpFloor {
    //本过程要收集的跳法的总数
    private static int res = 0;
    public static void main(String[] args) {
        System.out.println(doJump(3));
    }

    private static int doJump(int target){
        if(target <= 0){
            return 0;
        }
        //base case，当target=0时表示某个分解分支跳完了所有台阶，这个分支就是一种跳法
        if(target == 1){
            return 1;
        }
        return 2*doJump(target-1);
    }
}
